// 获取页面上所有的<p>元素
let pEles = document.querySelectorAll("p");

// 定义一个异步函数
let fn = async () => {
  // 异步校验用户是否已登录，并获取返回的对象
  let { status, info, id } = await isLogin();

  // 如果status不等于1，即用户未登录
  if (status != 1) {
    // 显示未登录时的<p>元素，隐藏已登录时的<p>元素
    pEles[0].style.display = "block";
    pEles[1].style.display = "none";
    return; // 结束函数执行
  }

  // 如果用户已登录
  // 隐藏未登录时的<p>元素，显示已登录时的<p>元素
  pEles[0].style.display = "none";
  pEles[1].style.display = "block";

  // 将用户昵称显示在页面上
  document.querySelector(".nickname").innerHTML = info.nickname;

  // 为退出登录按钮添加点击事件监听
  document
    .querySelector(".logout")
    .addEventListener("click", async ({ target }) => {
      // 如果点击的目标是“self”类元素，则跳转到个人中心页面
      if (target.className == "self") location.href = "./self.html";

      // 如果点击的目标是“logout”类元素
      if (target.className == "logout") {
        // 确认用户是否真的要退出登录
        if (!confirm("确定要退出登录？")) return;

        // 从本地存储中移除token和id
        localStorage.removeItem("token");
        localStorage.removeItem("id");

        // 发起异步请求，通知服务器用户已退出登录
        await http.get("/users/logout", { params: { id } });
        alert("退出登录成功");

        // 显示未登录时的<p>元素，隐藏已登录时的<p>元素
        pEles[0].style.display = "block";
        pEles[1].style.display = "none";
      }
    });
};

// 执行函数
fn();

// 为个人中心按钮添加点击事件监听，点击时跳转到个人中心页面
document.querySelector(".self").addEventListener("click", () => {
  window.location.href = "../views/self.html";
});